/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package manager.modulo.estoque.enumerator;

import manager.modulo.ferramenta.enumerator.*;
import java.util.LinkedList;

/**
 *
 * @author THIAGO
 */
public class EnumUnidadeInsumo {

    public enum UnidadeInsumo {

        M,
        M2,
        M3,
        CM,
        CM2,
        CM3,
        L,
        ML,
        UN,
        KG,
        G,
        NAOENCONTRADO
    }

    public static UnidadeInsumo ConverterNumeroEnum(int numero) {
        switch (numero) {
            case 1:
                return UnidadeInsumo.M;
            case 2:
                return UnidadeInsumo.M2;
            case 3:
                return UnidadeInsumo.M3;
            case 4:
                return UnidadeInsumo.CM;
            case 5:
                return UnidadeInsumo.CM2;
            case 6:
                return UnidadeInsumo.CM3;
            case 7:
                return UnidadeInsumo.L;
            case 8:
                return UnidadeInsumo.ML;
            case 9:
                return UnidadeInsumo.UN;
            case 10:
                return UnidadeInsumo.KG;
            case 11:
                return UnidadeInsumo.G;
            default:
                return UnidadeInsumo.NAOENCONTRADO;
        }
    }

    public static int ConverterEnumNumero(UnidadeInsumo situacaoFerramenta) {
        switch (situacaoFerramenta) {
            case M:
                return 1;
            case M2:
                return 2;
            case M3:
                return 3;
            case CM:
                return 4;
            case CM2:
                return 5;
            case CM3:
                return 6;
            case L:
                return 7;
            case ML:
                return 8;
            case UN:
                return 9;
            case KG:
                return 10;
            case G:
                return 11;
            default:
                return 0;
        }
    }

    public static String ConvertEnumString(UnidadeInsumo situacaoFerramenta) {
        switch (situacaoFerramenta) {
            case M:
                return "M";
            case M2:
                return "M2";
            case M3:
                return "M3";
            case CM:
                return "CM";
            case CM2:
                return "CM2";
            case CM3:
                return "CM3";
            case L:
                return "L";
            case ML:
                return "ML";
            case UN:
                return "UN";
            case KG:
                return "KG";
            case G:
                return "G";
            default:
                return "NÃO ENCONTRADO";
        }
    }

    public static UnidadeInsumo ConvertStringEnum(String unidade) {
        if (unidade.equalsIgnoreCase(EnumUnidadeInsumo.ConvertEnumString(UnidadeInsumo.M))) {
            return UnidadeInsumo.M;
        } else if (unidade.equalsIgnoreCase(EnumUnidadeInsumo.ConvertEnumString(UnidadeInsumo.M2))) {
            return UnidadeInsumo.M2;
        } else if (unidade.equalsIgnoreCase(EnumUnidadeInsumo.ConvertEnumString(UnidadeInsumo.M3))) {
            return UnidadeInsumo.M3;
        } else if (unidade.equalsIgnoreCase(EnumUnidadeInsumo.ConvertEnumString(UnidadeInsumo.CM))) {
            return UnidadeInsumo.CM;
        } else if (unidade.equalsIgnoreCase(EnumUnidadeInsumo.ConvertEnumString(UnidadeInsumo.CM2))) {
            return UnidadeInsumo.CM2;
        } else if (unidade.equalsIgnoreCase(EnumUnidadeInsumo.ConvertEnumString(UnidadeInsumo.CM3))) {
            return UnidadeInsumo.CM3;
        } else if (unidade.equalsIgnoreCase(EnumUnidadeInsumo.ConvertEnumString(UnidadeInsumo.L))) {
            return UnidadeInsumo.L;
        } else if (unidade.equalsIgnoreCase(EnumUnidadeInsumo.ConvertEnumString(UnidadeInsumo.ML))) {
            return UnidadeInsumo.ML;
        } else if (unidade.equalsIgnoreCase(EnumUnidadeInsumo.ConvertEnumString(UnidadeInsumo.UN))) {
            return UnidadeInsumo.UN;
        } else if (unidade.equalsIgnoreCase(EnumUnidadeInsumo.ConvertEnumString(UnidadeInsumo.KG))) {
            return UnidadeInsumo.KG;
        } else if (unidade.equalsIgnoreCase(EnumUnidadeInsumo.ConvertEnumString(UnidadeInsumo.G))) {
            return UnidadeInsumo.G;
        } else {
            return UnidadeInsumo.NAOENCONTRADO;
        }
    }

    public static LinkedList<UnidadeInsumo> ListaUnidades() {
        LinkedList<UnidadeInsumo> listaUnidades = new LinkedList<UnidadeInsumo>();
        listaUnidades.add(UnidadeInsumo.M);
        listaUnidades.add(UnidadeInsumo.M2);
        listaUnidades.add(UnidadeInsumo.M3);
        listaUnidades.add(UnidadeInsumo.CM);
        listaUnidades.add(UnidadeInsumo.CM2);
        listaUnidades.add(UnidadeInsumo.CM3);
        listaUnidades.add(UnidadeInsumo.L);
        listaUnidades.add(UnidadeInsumo.ML);
        listaUnidades.add(UnidadeInsumo.UN);
        listaUnidades.add(UnidadeInsumo.KG);
        listaUnidades.add(UnidadeInsumo.G);
        
        return listaUnidades;
    }
    
    public static LinkedList<String> ListaStringUnidades() {
        LinkedList<String> listaUnidades = new LinkedList<String>();
        listaUnidades.add(EnumUnidadeInsumo.ConvertEnumString(UnidadeInsumo.M));
        listaUnidades.add(EnumUnidadeInsumo.ConvertEnumString(UnidadeInsumo.M2));
        listaUnidades.add(EnumUnidadeInsumo.ConvertEnumString(UnidadeInsumo.M3));
        listaUnidades.add(EnumUnidadeInsumo.ConvertEnumString(UnidadeInsumo.CM));
        listaUnidades.add(EnumUnidadeInsumo.ConvertEnumString(UnidadeInsumo.CM2));
        listaUnidades.add(EnumUnidadeInsumo.ConvertEnumString(UnidadeInsumo.CM3));
        listaUnidades.add(EnumUnidadeInsumo.ConvertEnumString(UnidadeInsumo.L));
        listaUnidades.add(EnumUnidadeInsumo.ConvertEnumString(UnidadeInsumo.ML));
        listaUnidades.add(EnumUnidadeInsumo.ConvertEnumString(UnidadeInsumo.UN));
        listaUnidades.add(EnumUnidadeInsumo.ConvertEnumString(UnidadeInsumo.KG));
        listaUnidades.add(EnumUnidadeInsumo.ConvertEnumString(UnidadeInsumo.G));
        
        return listaUnidades;
    }
    
}
